With the consistent decline in their cost, stepper motors are finding increased use in industrial controls, automated manufacturing and production equipment, numerical machine tools and consumer items, such as printers and disc drives. As mechanisms, such as industrial robots, which use stepper motors to control their movements, become more complicated, the required number of stepper motors increases. However, along with this increase in number is an increase in the need for keeping the controller components small enough to fit in tight spaces and intelligent enough to generate complex sequences of motions. For this purpose, microprocessors have been found to be very well suited.
Although a general purpose microprocessor can be used to control stepper motors, the initial purchase price and the cost of custom programming by the customer would undoubtedly be high. Thus, there have been developed co-processor based stepper motor controllers which are used in conjunction with a main computer. The stepper motor controller unburdens the main computer, typically a microprocessor, from the task of directly controlling and constantly monitoring large numbers of stepper motors. Examples of such stepper motor controllers are those made by Cybernetics Micro Systems of Los Altos, Calif. and sold as the CY 500 and the CY 512.
Prior art microprocessor stepper motor controllers commonly communicate with a main computer by initiating an interrupt signal. When the interrupt is generated, the main computer must read the status of all the controllers to find out which controller generated the interrupt. This procedure is called polling. However, in a multi-controller, multi-stepper motor environment, polling procedures can take appreciable time which can affect the speed of operation of the device or apparatus being controlled.